package com.liuxinlong.modules.system.service;

import java.util.List;
import java.util.Map;

import com.liuxinlong.common.ImportResp;
import com.liuxinlong.modules.entity.UserRole;

/**
 * 用户角色信息接口
 * 
 * @author liuxinlong@hotwater.com.cn
 * @version 1.0.0
 * @since 2022-01-12
 *
 */
public interface RoleService {
	/**
	 * 分页查询用户角色信息
	 * 
	 * @param queryParam 请求信息
	 * @return 用户角色信息列表
	 */
	List<Map<String, Object>> pageUserRoleInfo(Map<String, Object> queryParam);

	/**
	 * 查询用户角色信息总数
	 * 
	 * @param queryParam 请求信息
	 * @return 用户角色信息总数
	 */
	int getUserRoleCount(Map<String, Object> queryParam);

	/**
	 * 新增用户角色信息
	 * 
	 * @param userRole 用户角色信息
	 */
	void addUserRoleInfo(UserRole userRole);

	/**
	 * 更新用户角色信息
	 * 
	 * @param userRole 用户角色信息
	 */
	void updateUserRoleInfo(UserRole userRole);

	/**
	 * 删除用户角色信息
	 * 
	 * @param id 用户角色id
	 */
	void deleteUserRoleInfo(String id);

	/**
	 * 导入数据预处理
	 *
	 * @param fileName 文件地址
	 * @return 预处理数据
	 */
	ImportResp importRoles(String fileName);

	/**
	 * 批量新增角色信息
	 *
	 * @param dataList 角色列表
	 * @return 失败数据
	 */
	ImportResp batchAddRole(List<UserRole> dataList);
}
